1. Field of the Invention
The present invention relates to a storage system including a disk array apparatus and a file system control device which receives an access request from a host computer and which then outputs the request to the disk array apparatus, and in particular, to a storage system and a method for controlling volume rearrangement in which a high-speed access control function of a disk array control device in the disk array apparatus is utilized to eliminate a fragmentation state of a volume.
2. Description of the Related Art
A storage system is generally connected via a network or a channel network to a host computer (referred to as a host below) utilizing the system. The storage system includes a disk device (storage device). A hard disk drive (HDD) is generally used for the disk device. The storage system also includes a file server typified by a network file system (NFS) server. A file system of the file server receives a disk access request from an application (application software) operating on a host. Thus, a disk access conforming to the disk access request from the application (host) is executed via the file system. The disk access causes creation/deletion of a volume specified by the application (host), an increase or reduction in file size, or the like. Then, in the volume, a state called “fragmentation” occurs in which blocks which are units of disk accesses are used in a vermiculate manner. In the fragmentation state, the rate of the whole volume taken up by areas being actually used decreases. Further, physically inconsecutive blocks are used. Consequently, during a volume access, the disk device (HDD) is inconsecutively accessed. This may degrade the performance of the system.
Thus, a process (fragmentation eliminating process or defragmentation process) called defragmentation has hitherto been executed in order to eliminate the fragmentation state. This process is executed by software in the host or file server in accordance with fragmentation information managed on the host or file server. This process moves data by executing a read or write only on blocks in use in a volume. The blocks in use are rearranged so as to be physically consecutive.
However, since the fragmentation eliminating process (defragmentation process) moves data in blocks, it takes a long time to eliminate the fragmentation state. Further, an increased load is imposed on the host or file server. This also affects the execution of a disk access in response to a normal disk access request from the application. As a result, the throughput of the whole system decreases.
Thus, a technique has been proposed which uses a hierarchical management file apparatus corresponding to the file system to make the volume hierarchical on the basis of multiple types of recording unit lengths for management (see, for example, Japanese Patent No. 2000-200207 (Paragraphs 0033 to 0035 and FIG. 2)). In this case, the volume is divided into clusters of a first recording unit length for management. Each cluster is divided into fragments of a second recording unit length that is smaller than the first recording unit length. A file allocation table (FAT), that is, a file arrangement management table, is used as fragmentation information to manage the clusters and fragments. The technique described in this document switches the recording unit length to be applied between a large-sized file for videos or sounds, which must be continuously reproduced, and a small-sized file for sentences, which may be discretely reproduced. This makes it possible to reduce the occurrence of the fragmentation state.
However, even with the technique described in the above document, in order to eliminate the fragmentation state, it is necessary that the hierarchical management file apparatus corresponding to the file system move data by executing a read or write on the clusters or fragments used in the volume in accordance with the fragmentation information (file arrangement management table) managed by the hierarchical management file apparatus. In this case, it takes a long time to eliminate the fragmentation state. Further, an increased load is imposed on the hierarchical management file apparatus (file system). As a result, the throughput of the whole system decreases.
Further, in the fragmentation state, areas being actually used in the volume (a group of blocks being actually used) become inconsecutive. Thus, even if the volume has a size of 1 GB and the group of blocks being actually used (blocks in use) has a total size of 100 MB, when the blocks in the group are inconsecutive and distributive, the volume of size 1 GB cannot be reduced to a volume of size 100 MB without the fragmentation eliminating process. In this case, a storage resource for 900 MB which is otherwise available cannot be effectively utilized.
A storage system has recently emerged which includes a disk array apparatus including a plurality of disk devices (storage devices). Further, a storage system has emerged which includes a plurality of disk array apparatuses. A storage system of this kind is often shared by a plurality of hosts. In a system in which a plurality of hosts share a storage system including a disk array apparatus, applications operating independently on the respective hosts make utilization requests for independent storage resources. The storage resource requested by each application is a set of disk areas provided by a plurality of disk devices and corresponding to the utilization request from the application. Accordingly, the total amount of storage resource required for the whole utilization request from each application increases when the disk areas are not efficiently used as in the case of the fragmentation state. Thus, it is desirable to effectively utilize storage resources.
Further, if the system does not have a function for increasing or reducing the volume size but has only a function for causing a plurality of logical units provided by a disk array to appear like one volume (a function for concatenating logical units), when fragmentation occurs in the plurality of logical units, none of the logical units can be released. Consequently, it is impossible to reduce the size to one being actually used.
For the storage system, it is thus desired to promptly eliminate the fragmentation state in a volume without increasing the load on the host and file system, by utilizing the high-speed access control function of the disk array control device, which controls the disk array, to physically move data required to eliminate the fragmentation state in the volume.